package com.sophossystems.client.asmon.dao;

import com.sophossystems.client.asmon.dao.RepresentanteLegalDao;
import com.sophossystems.client.asmon.dto.RepresentanteLegalDTO;
import com.sophossystems.client.asmon.dto.RepresentanteLegalPkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;

import java.util.List;

public interface RepresentanteLegalDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return RepresentanteLegalPk
	 */
	public RepresentanteLegalPkDTO insert(final RepresentanteLegalDTO dto);

	/** 
	 * Updates a single row in the REPRESENTANTE_LEGAL table.
	 */
	public void update(final RepresentanteLegalDTO dto) throws DaoException;

	/** 
	 * Deletes a single row in the REPRESENTANTE_LEGAL table.
	 */
	public void delete(final RepresentanteLegalPkDTO pk) throws DaoException;

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'idRepLegal = :idRepLegal'.
	 */
	public RepresentanteLegalDTO findByPrimaryKey(int idRepLegal) throws DaoException;

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria ''.
	 */
	public List<RepresentanteLegalDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'idRepLegal = :idRepLegal'.
	 
	public List<RepresentanteLegalDTO> findWhereIdRepLegalEquals(int idRepLegal) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'idCliente = :idCliente'.
	 */
	public List<RepresentanteLegalDTO> findWhereIdClienteEquals(final int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'aPaterno = :apaterno'.
	 
	public List<RepresentanteLegalDTO> findWhereApaternoEquals(String apaterno) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'aMaterno = :amaterno'.
	 
	public List<RepresentanteLegalDTO> findWhereAmaternoEquals(String amaterno) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'nombres = :nombres'.
	 
	public List<RepresentanteLegalDTO> findWhereNombresEquals(String nombres) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'fNacimiento = :fnacimiento'.
	 
	public List<RepresentanteLegalDTO> findWhereFnacimientoEquals(Date fnacimiento) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'fInicioActividad = :finicioactividad'.
	 
	public List<RepresentanteLegalDTO> findWhereFinicioactividadEquals(Date finicioactividad) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'email = :email'.
	 
	public List<RepresentanteLegalDTO> findWhereEmailEquals(String email) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'rfc = :rfc'.
	 
	public List<RepresentanteLegalDTO> findWhereRfcEquals(String rfc) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'curp = :curp'.
	 
	public List<RepresentanteLegalDTO> findWhereCurpEquals(String curp) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'numTel = :numTel'.
	 
	public List<RepresentanteLegalDTO> findWhereNumTelEquals(int numTel) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'idDireccion = :idDireccion'.
	 
	public List<RepresentanteLegalDTO> findWhereIdDireccionEquals(int idDireccion) throws DaoException;*/

	/** 
	 * Returns all rows from the REPRESENTANTE_LEGAL table that match the criteria 'rfcCliente = :rfcCliente'.
	 
	public List<RepresentanteLegalDTO> findWhereRfcClienteEquals(String rfcCliente) throws DaoException;*/

	/** 
	 * Returns the rows from the REPRESENTANTE_LEGAL table that matches the specified primary-key value.
	 */
	public RepresentanteLegalDTO findByPrimaryKey(RepresentanteLegalPkDTO pk) throws DaoException;
	
	public RepresentanteLegalPkDTO findLastInsert() throws DaoException;

}
